/**
 * 取 [min, max] 的中间值，最小为min，最大为max
 * @param min  最小值
 * @param max 最大值
 * @param value 传入值
 * @returns
 */
export const format = {
  valueInRange(min, max, value) {
    let ret = value;
    if (value < min) {
      ret = min;
    } else if (value > max) {
      ret = max;
    }
    return ret;
  },
  /**
   * base64转为图片src
   * @param base64Str
   * @param imageType
   * @returns
   */
  base64ToImageSrc(base64Str, imageType = "png") {
    if (/^data:image/.test(base64Str)) {
      return base64Str;
    } else {
      return `data:image/${imageType};base64,${base64Str}`;
    }
  },
  /**
   *
   * @param headers
   * @returns
   */
  getFileNameFromResponseHeaders(headers) {
    let contentDisposition = headers["content-disposition"];
    if (!contentDisposition) return null;

    const fileNameMatch = contentDisposition.match(
      /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/
    );

    if (fileNameMatch != null && fileNameMatch[1]) {
      return decodeURIComponent(fileNameMatch[1].replace(/['"]/g, ""));
    }

    return null;
  },
};
